package com.irdstudio.efp.esb.api.bean.sed.credit.req;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.irdstudio.basic.framework.core.annotation.BeanMapKey;
import com.irdstudio.basic.framework.core.annotation.DicType;
import com.irdstudio.basic.framework.core.annotation.NumType;
import com.irdstudio.basic.framework.core.constant.SDicChannelType;
import com.irdstudio.efp.esb.api.common.sed.PersonalQuoatQueryType;
import com.irdstudio.efp.esb.api.common.sed.SedEnum;
import org.hibernate.validator.constraints.Length;
import org.hibernate.validator.constraints.NotEmpty;
import org.springframework.lang.NonNull;

/**
* 普税贷产品对税e贷产品的此部分代码做了复用
* 说明：为了保证功能的复用性、提升开发的工作效率，对该代码进行了复用
* 评估是否会影响线上功能：否
* 评估时间：2020/5/25
* 处理方案：保留复用
*/
/***
 * 个人额度信息查询
  * TODO
  * @author wanglihua
  * @since 2019年4月23日 下午7:33:16
  * @version 1.0
 */
public class ReqPersonalQuotaInfoQurBean {
	
	@BeanMapKey("CrdtAppFlowNo")
	@JsonProperty("CrdtAppFlowNo")
	@Length(max = 64)
	private String CrdtAppFlowNo;//原交易流水号
	
	@BeanMapKey("ClntNo")
	@JsonProperty("ClntNo")
	@Length(max = 20)
	private String ClntNo;//客户号
	
	@BeanMapKey("CertTp")
	@JsonProperty("CertTp")
	@Length(max = 32)
	private String CertTp;//证件类型
	
	@BeanMapKey("CertNo")
	@JsonProperty("CertNo")
	@Length(max = 32)
	private String CertNo;//证件号码
	
	@BeanMapKey("PrdctID")
	@JsonProperty("PrdctID")
	@Length(max = 8)
	@DicType(dicType = SedEnum.PrdCodeEnum.class, method = "getValue")
	private String PrdctID;//产品ID
	
	@BeanMapKey("BtchLmtStCd")
	@JsonProperty("BtchLmtStCd")
	@Length(max = 20)
	private String BtchLmtStCd;//额度状态
	
	@BeanMapKey("ChanNo")
	@JsonProperty("ChanNo")
	@Length(max = 3)
	@DicType(dicType = SDicChannelType.class, method = "getValue")
	private String ChanNo;//渠道号
	
	@BeanMapKey("QryTp")
	@JsonProperty("QryTp")
	@Length(max = 3)
	@NonNull
	@NotEmpty
	@DicType(dicType = PersonalQuoatQueryType.class, method = "getKey")
	private String QryTp;//查询类型
	
	@BeanMapKey("PgNo")
	@JsonProperty("PgNo")
	@NumType
	@Length(max = 9)
	private String PgNo;//页码
	
	@BeanMapKey("PerPgRcrNum")
	@JsonProperty("PerPgRcrNum")
	@NumType
	@Length(max = 9)
	private String PerPgRcrNum;//每页记录数

	public String getCrdtAppFlowNo() {
		return CrdtAppFlowNo;
	}

	public void setCrdtAppFlowNo(String crdtAppFlowNo) {
		CrdtAppFlowNo = crdtAppFlowNo;
	}

	public String getClntNo() {
		return ClntNo;
	}

	public void setClntNo(String clntNo) {
		ClntNo = clntNo;
	}

	public String getCertTp() {
		return CertTp;
	}

	public void setCertTp(String certTp) {
		CertTp = certTp;
	}

	public String getCertNo() {
		return CertNo;
	}

	public void setCertNo(String certNo) {
		CertNo = certNo;
	}

	public String getPrdctID() {
		return PrdctID;
	}

	public void setPrdctID(String prdctID) {
		PrdctID = prdctID;
	}

	public String getBtchLmtStCd() {
		return BtchLmtStCd;
	}

	public void setBtchLmtStCd(String btchLmtStCd) {
		BtchLmtStCd = btchLmtStCd;
	}

	public String getChanNo() {
		return ChanNo;
	}

	public void setChanNo(String chanNo) {
		ChanNo = chanNo;
	}

	public String getQryTp() {
		return QryTp;
	}

	public void setQryTp(String qryTp) {
		QryTp = qryTp;
	}

	public String getPgNo() {
		return PgNo;
	}

	public void setPgNo(String pgNo) {
		PgNo = pgNo;
	}

	public String getPerPgRcrNum() {
		return PerPgRcrNum;
	}

	public void setPerPgRcrNum(String perPgRcrNum) {
		PerPgRcrNum = perPgRcrNum;
	}

}
